package com.zyl.blog.CogniSphere.model;

import lombok.Data;

/**
 * @version v1.0
 * @ProjectName: Personal_Blog_Server
 * @Package: com.zyl.blog.CogniSphere.model
 * @ClassName: SparkHttpResponse
 * @Description:
 * @Author FinalFantasy
 * @Date 2025/8/15-16:29
 */
@Data
public class SparkHttpResponse {
    /**
     * 状态码：0表示成功，非0表示失败
     */
    private int code;

    /**
     * 响应消息：成功时通常为"success"，失败时为错误信息
     */
    private String message;

    /**
     * 响应数据体
     */
    private SparkHttpResponseData data;

    /**
     * 响应数据体内部类
     */
    @Data
    public static class SparkHttpResponseData {
        /**
         * AI生成的内容
         */
        private String content;

        /**
         * 会话ID，用于多轮对话
         */
        private String sessionId;

        /**
         * 令牌使用情况统计
         */
        private TokenUsage tokenUsage;
    }

    /**
     * 令牌使用情况统计类
     */
    @Data
    public static class TokenUsage {
        /**
         * 输入令牌数
         */
        private int promptTokens;

        /**
         * 输出令牌数
         */
        private int completionTokens;

        /**
         * 总令牌数
         */
        private int totalTokens;
    }
}
